post /cloudextensions

Create Cloud Extension (createCloudExtension)

Creating a Cloud Extension deploys Velostrata Cloud Edge nodes, A and B. These are placed in an Availability Set in Azure or Availability Zones in AWS. To allow flexibility in deployment and enable you to deploy a CE with a size that corresponds to the intended activity, you can select whether to add a small or large CE.

Consumes

This API call consumes the following media types via the Content-Type request header:

  • application/json

Request body

createCloudExtensionRequest CreateCloudExtensionRequest (required)

Body Parameter — Create Cloud Extension request

 

Note: Use the relevant structure depending on whether you are creating a Cloud Extension in AWS. Azure, or GCP.

 

CreateCloudExtensionRequest

_type

String AWS, Azure or GCP Cloud Extension

Enum:

CreateAwsCloudExtensionRequest

CreateAzureCloudExtensionRequest

CreateGcpCloudExtensionRequest

 

CreateAwsCloudExtensionRequest

cloudCredentials

CredentialsId

value (optional)

String Entity ID

_type

String Credentials ID

 

Enum:

 

CredentialsId

ceSize (optional)

CeSize

Cloud Extension Size - Large or Small

dataCenterId

String vSphere Datacenter ID

name

String Cloud Extension name

workloadDefaultSubnetId

String Default network subnet for workload VMs

licenseType

LicenseType

License TypeVelostrataIssued or Marketplace.

_type

String

Enum:

CreateAwsCloudExtensionRequest

region

String AWS region

vpcId

String AWS Virtual Public Cloud IP

s3IamRole

String IAM role for Cloud Edge instances

workloadDefaultSecurityGroupId

String Default network security group for workload VMs

primaryFrontendSubnetId

String Network subnet for primary Cloud Edge node (Node A)

secondaryFrontendSubnetId

String Network subnet for secondary Cloud Edge node (Node B)

tenancyType

TenancyType

TenancyType - Default or DedicatedInstances.

infraSecurityGroupIds

array[String] Network security group for Cloud Edge instances

proxy (optional)

ProxyConfiguration

host

String Proxy host

port

Integer Proxy port format: int32

useForData

Boolean Use for data or not

 

 

CreateAzureCloudExtensionRequest

cloudCredentials

CredentialsId

value (optional)

String Entity ID

_type

String Credentials ID

 

Enum:

 

CredentialsId

 

ceSize (optional)

CeSize

Cloud Extension Size - Large or Small

dataCenterId

String vSphere Datacenter ID

name

String Cloud Extension name

workloadDefaultSubnetId

String Default network subnet for workload VMs

licenseType

LicenseType

License Type - VelostrataIssued or Marketplace.

_type

String

Enum:

CreateAzureCloudExtensionRequest

networkSecurityGroupId

String Network security group for Cloud Edge instances

subnetId

String Azure subnet ID

workloadDefaultSecurityGroupId

String Default network security group for workload VMs

location

String Azure location

workloadDefaultResourceGroup (optional)

String Default Resource Group for workload VMs

proxy (optional)

ProxyConfiguration

host

String Proxy host

port

Integer Proxy port format: int32

useForData

Boolean Use for data or not

 

 

CreateGcpCloudExtensionRequest

cloudCredentials

CredentialsId

value (optional)

String Entity ID

_type

String Credentials ID

 

Enum:

 

CredentialsId

ceSize (optional)

CeSize

Cloud Extension Size - Large or Small

dataCenterId

String vSphere Datacenter ID

name

String Cloud Extension name

workloadDefaultSubnetId

String Default network subnet for workload VMs

licenseType

LicenseType

License Type - VelostrataIssued or Marketplace.

_type

String

Enum:

CreateGcpCloudExtensionRequest

region

String GCP region

networkName (optional)

StringVPC network

primaryFrontendZone

String Zone for primary Cloud Edge node (Node A)

secondaryFrontendZone

String Zone for secondary Cloud Edge node (Node B)

primaryFrontendSubnetId

String Network subnet for primary Cloud Edge node (Node A)

secondaryFrontendSubnetId

String Network subnet for secondary Cloud Edge node (Node B)

infraNetworkTags (optional)

array[String]

workloadDefaultNetworkTags (optional)

array[String]

proxy (optional)

ProxyConfiguration

host

String Proxy host

port

Integer Proxy port format: int32

useForData

Boolean Use for data or not

 

Return type

TaskId

value (optional)

String Entity ID

_type

String Task ID

Enum:

TaskId

 

 

AWS Example data

Content-Type: application/json

{

"cloudCredentials": {

"value": "awsCreds",

"_type": "CredentialsId"

},

"ceSize": "Large",

"dataCenterId": "datacenter-2",

"name": "datacenter-2_vpc-1410ff71_1519303013_7jp",

"workloadDefaultSecurityGroupId": "sg-48539e2d",

"workloadDefaultSubnetId": "subnet-c1484887",

"licenseType": "VelostrataIssued",

"_type": "CreateAwsCloudExtensionRequest",

"proxy": {

"host": "123.34.56.67",

"port": 3128,

"useForData": false

}

"customTags": [],

"region": "eu-west-1",

"vpcId": "vpc-1410ff71",

"s3IamRole": "arn:aws:iam::965351925530:instance-profile/S3IamRole",

"primaryFrontendSubnetId": "subnet-c1484887",

"secondaryFrontendSubnetId": "subnet-c1484887",

"tenancyType": "Default",

"infraSecurityGroupIds": ["sg-48539e2d"]

}

 

Azure Example data

Content-Type: application/json

{

"cloudCredentials": {

"value": "azureCreds",

"_type": "CredentialsId"

},

"ceSize": "Large",

"dataCenterId": "datacenter-2",

"name": "datacenter-2_1519343160_DrQ",

"workloadDefaultSecurityGroupId": "/subscriptions/a0123bc4-d567-89e1-0111-f21g31h4i151/resourceGroups/Velostrata-Example/providers/Microsoft.Network/networkSecurityGroups/AzureMain-NEurope-Example",

"workloadDefaultSubnetId": "/subscriptions/a0123bc4-d567-89e1-0111-f21g31h4i151/resourceGroups/Velostrata-Example/providers/Microsoft.Network/virtualNetworks/example-vnet/subnets/Velostrata-Example",

"licenseType": "VelostrataIssued",

"_type": "CreateAzureCloudExtensionRequest",

"location": "northeurope",

"workloadDefaultResourceGroup": "/subscriptions/a0123bc4-d567-89e1-0111-f21g31h4i151/resourceGroups/rg123456789-UuI",

}

 

GCP Example data

Content-Type: application/json

{

"cloudCredentials": {

"value": "gcp_datacenter-2_1508315847_GES",

"_type": "CredentialsId"

},

"ceSize": "Small",

"dataCenterId": "datacenter-2",

"name": "datacenter-2_1519343160_DrQ",

"workloadDefaultSubnetId": "https://www.googleapis.com/compute/v1/projects/velosdev/regions/europe-west1/subnetworks/default",

"licenseType": "VelostrataIssued",

"region": "europe-west1",

"networkName": "https://www.googleapis.com/compute/v1/projects/velosdev/global/networks/default",

"primaryFrontendZone": "europe-west1-d",

"secondaryFrontendZone": "europe-west1-d",

"primaryFrontendSubnetId": "https://www.googleapis.com/compute/v1/projects/velosdev/regions/europe-west1/subnetworks/default",

"secondaryFrontendSubnetId": "https://www.googleapis.com/compute/v1/projects/velosdev/regions/europe-west1/subnetworks/default",

"infraNetworkTags": [],

"workloadDefaultNetworkTags": ["velostrata"],

"serviceAccount": "velosdev1@velosdev.iam.gserviceaccount.com",

"_type": "CreateGcpCloudExtensionRequest",

}

 

 

Produces

This API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header.

  • application/json

Responses

201

Created TaskId

value (optional)

String Entity ID

_type

String Task ID

Enum:

TaskId

Default

Error ErrorInfo

errorCode (optional)

String

url(optional)

String

message (optional)

String